﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;

namespace FrontEnd
{
	public enum NodeType
	{
		SQLite,
		Database,
		AttachedDatabase,
		TableCollection,
		ViewCollection,
		IndexCollection,
		TriggerCollection,
		ColumnCollection,
		Table,
		View,
		Column,
		Index,
		Trigger
	}

	public class Node
	{
		public string Title { get; protected set; }
		public NodeType Type { get; protected set; }
		public object ReferencedObject { get; set; }
		public ObservableCollection<Node> Nodes { get; set; }

		public Node(string title, NodeType type, object refObj = null)
		{
			this.Title = title;
			this.Type = type;
			this.ReferencedObject = refObj;
			this.Nodes = new ObservableCollection<Node>();
		}
	}
}
